package com.zxy.pojo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 活动实体（对应数据库表：activity）
 */
@Data
@TableName("activity")
public class Activity {
    /** 主键ID */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 活动编码（用于筛选参数code） */
    private String code;

    /** 活动名称 */
    private String name;

    /** 渠道标识（0：默认，1：推广） */
    private String channel;

    /** 活动说明 */
    private String info;

    /** 活动类型（1：折扣，2：优惠券） */
    private String type;

    /** 折扣值（null表示无折扣） */
    private Double discount;

    /** 关联优惠券（null表示无关联，可存JSON格式或ID列表） */
    private String vouchers;

    /** 活动状态（固定查2：已通过，匹配返回示例） */
    private String status;

    /** 活动开始时间 */
    @TableField("begin_time")
    private LocalDateTime beginTime;

    /** 活动结束时间 */
    @TableField("end_time")
    private LocalDateTime endTime;

    /** 创建人 */
    @TableField("create_by")
    private String createBy;

    /** 创建时间（用于筛选参数beginCreateTime/endCreateTime） */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /** 更新人 */
    @TableField("update_by")
    private String updateBy;

    /** 更新时间 */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
     * 活动成本
     */
    private BigDecimal activityCost;

}